home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / DEMO / AESDEMO.M < prev    next >
Encoding:
Text File  |  1991-03-27  |  2.5 KB  |  90 lines

  1. MODULE AESDemo;
  2.  
  3. (*
  4.  * Dies Programm zeigt die Anwendung vom Modul 'GEMBase' zum direkten
  5.  * Zugriff auf die AES-Funktionen/Parameter.
  6.  *
  7.  * Die hier gezeigte Anwendung, der Aufruf der Funktion 'fsel_exinput'
  8.  * des AES, ist sinnlos, weil sie schon in den normalen AES-Modulen
  9.  * enthalten ist.
  10.  *
  11.  * Achtung: Diese Routine ist erst ab TOS 1.4 vorhanden, führt bei
  12.  * älteren TOS-Versionen zu einer Fehlermeldung! (Sollte nicht weiter
  13.  * schlimm sein - ist ja ein Demoprogramm)
  14.  *
  15.  * Sinnvoll wird dies erst bei Zugriff auf Funktionen, die vielleicht
  16.  * in einer späteren GEM-Version implementiert werden und wir unsere
  17.  * GEM-Module noch nicht adaptiert haben. Selbstverständlich müssen Sie
  18.  * dann selbst über die benötigten Aufrufparameter informiert sein.
  19.  *
  20.  * Dies Demoprogramm von Michael Seyfried erstellt und durch TT von seinem
  21.  * AESBase/VDIBase auf GEMBase angepaßt.
  22.  *)
  23.  
  24. FROM SYSTEM IMPORT ADR, CADR;
  25.  
  26. IMPORT MOSGlobals;
  27.  
  28. IMPORT GEMBase;
  29.  
  30. IMPORT GEMEnv;
  31.  
  32. IMPORT InOut;
  33.  
  34. VAR dev: GEMEnv.DeviceHandle;
  35.     gemHdl: GEMEnv.GemHandle;
  36.     path: MOSGlobals.PathStr;
  37.     name: MOSGlobals.NameStr;
  38.     ch: CHAR;
  39.     ok: BOOLEAN;
  40.  
  41. PROCEDURE FselExInput(  REF title: ARRAY OF CHAR;
  42.                         VAR path, name: ARRAY OF CHAR;
  43.                         VAR ok: BOOLEAN);
  44.   (*
  45.    * Implementation von 'fsel_exinput' mit Hilfe von GEMBase.
  46.    *)
  47.   VAR aespb: GEMBase.AESPB; vdipb: GEMBase.VDIPB;
  48.   BEGIN
  49.     GEMBase.GetPBs (gemHdl, vdipb, aespb);
  50.     WITH aespb DO
  51.       padrin^[0]:= ADR (path);
  52.       padrin^[1]:= ADR (name);
  53.       padrin^[2]:= CADR (title);
  54.       pcontrl^:= GEMBase.AESContrlArray {91, 0, 2, 3, 0};
  55.     END;
  56.     GEMBase.CallAES (ADR (aespb));
  57.     ok:= (aespb.pintout^[1] = 1)
  58.   END FselExInput;
  59.  
  60. BEGIN
  61.   (* Zunächst beim GEM anmelden. *)
  62.   GEMEnv.InitGem (GEMEnv.RC, dev, ok);
  63.   IF NOT ok THEN HALT END;
  64.   (* GEM-Handle ermitteln *)
  65.   gemHdl:= GEMEnv.CurrGemHandle ();
  66.  
  67.   (* Weitere Initialisierungen *)
  68.   path:= '\*.*';
  69.   name:= '';
  70.  
  71.   (* File-Selector aufrufen *)
  72.   FselExInput ('Dies ist der Titel', path, name, ok);
  73.  
  74.   (* Ausgabeparameter darstellen *)
  75.   InOut.WriteString ('path: ');
  76.   InOut.WriteString (path);
  77.   InOut.WriteLn;
  78.   InOut.WriteString ('name: ');
  79.   InOut.WriteString (name);
  80.   InOut.WriteLn;
  81.   IF ok THEN
  82.     InOut.WriteString ('Es wurde der "OK"-Button angewählt.')
  83.   ELSE
  84.     InOut.WriteString ('Es wurde der "ABBRUCH"-Button angewählt.')
  85.   END;
  86.   InOut.WriteLn;
  87.   InOut.WriteString ('Taste...');
  88.   InOut.Read (ch)
  89. END AESDemo.
  90.